1200 |
Is it possible to display the task bars with a gradient color
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/31/2009" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,96) oChart:Bars():CallMethod("Copy","Task","TaskO") oBar := oChart:Bars:Item("Task") oBar:Pattern := 99/*exPatternGradientVBox+exPatternBox+exPatternShadow*/ oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oBar:SetProperty("EndColor",oBar:Color()) oG2antt:Columns():Add("Types") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Original"),"TaskO","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Pattern Gradient"),"Task","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Original"),"TaskO","01/04/2010","01/09/2010","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1199 |
How can I know the type of bars I can displays using predefined patterns
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1,oBar2,oBar3,oBar4,oBar5,oBar6,oBar7,oBar8,oBar9 LOCAL oBars LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/31/2009" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,96) oBars := oChart:Bars() oBars:Add("Box"):Pattern := 32/*exPatternBox*/ oBars:Add("ThickBox"):Pattern := 4128/*exPatternThickBox+exPatternBox*/ oBars:Add("DiagBox"):Pattern := 4102/*exPatternThickBox+exPatternBDiagonal*/ oBars:CallMethod("Copy","Task","Shadow"):Pattern := 8195/*exPatternFrameShadow+exPatternShadow*/ oBars:CallMethod("Copy","Task","TShadow"):Pattern := 12295/*exPatternFrameShadow+exPatternThickBox+exPatternDiagCross*/ oBar := oBars:Add("HGrad1") oBar:Pattern := 32/*exPatternBox*/ oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oBar:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar1 := oBars:Add("HGrad2") oBar1:Pattern := 35/*exPatternBox+exPatternShadow*/ oBar1:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oBar1:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar2 := oBars:Add("HGrad3") oBar2:Pattern := 163/*exPatternGradient3Colors+exPatternBox+exPatternShadow*/ oBar2:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oBar2:SetProperty("EndColor",oBar2:StartColor()) oBar2:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar3 := oBars:Add("HGrad4") oBar3:Pattern := 4256/*exPatternThickBox+exPatternGradient3Colors+exPatternBox*/ oBar3:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oBar3:SetProperty("EndColor",oBar3:StartColor()) oBar3:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar4 := oBars:Add("HGrad5") oBar4:Pattern := 8352/*exPatternFrameShadow+exPatternGradient3Colors+exPatternBox*/ oBar4:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oBar4:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar4:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar5 := oBars:Add("VGrad1") oBar5:Pattern := 96/*exPatternGradientVBox+exPatternBox*/ oBar5:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oBar5:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar5:Height := 14 oBar6 := oBars:Add("VGrad2") oBar6:Pattern := 99/*exPatternGradientVBox+exPatternBox+exPatternShadow*/ oBar6:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oBar6:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar6:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar6:Height := 14 oBar7 := oBars:Add("VGrad3") oBar7:Pattern := 227/*exPatternGradient3Colors+exPatternGradientVBox+exPatternBox+exPatternShadow*/ oBar7:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oBar7:SetProperty("EndColor",oBar7:StartColor()) oBar7:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar7:Height := 14 oBar8 := oBars:Add("VGrad4") oBar8:Pattern := 4320/*exPatternThickBox+exPatternGradient3Colors+exPatternGradientVBox+exPatternBox*/ oBar8:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oBar8:SetProperty("EndColor",oBar8:StartColor()) oBar8:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar8:Height := -1 oBar9 := oBars:Add("VGrad5") oBar9:Pattern := 8416/*exPatternFrameShadow+exPatternGradient3Colors+exPatternGradientVBox+exPatternBox*/ oBar9:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oBar9:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar9:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar9:Height := 14 oG2antt:Columns():Add("Types") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Box"),"Box","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Thick Box"),"ThickBox","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Thick Box Diag"),"DiagBox","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Shadow"),"Shadow","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Thick Shadow"),"TShadow","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Solid Gradient"),"HGrad1","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Pattern Gradient"),"HGrad2","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Pattern Gradient 3 Colors"),"HGrad3","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Solid Gradient 3 Colors"),"HGrad4","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Gradient Shadow"),"HGrad5","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Solid Gradient"),"VGrad1","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Pattern Gradient"),"VGrad2","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Pattern Gradient 3 Colors"),"VGrad3","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Solid Gradient 3 Colors"),"VGrad4","01/04/2010","01/09/2010","") oItems:AddBar(oItems:AddItem("Gradient Shadow"),"VGrad5","01/04/2010","01/09/2010","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1198 |
Is it possible to display the bars with a thicker border
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():SetProperty("PaneWidth",.F.,48) oG2antt:Chart():Bars():CallMethod("Copy","Task","TaskB"):Pattern := 4099/*exPatternThickBox+exPatternShadow*/ oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/05/2001","") oItems:AddBar(oItems:AddItem("Task 2"),"TaskB","01/02/2001","01/05/2001","") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/05/2001","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1197 |
Is it possible to display the shadow for EBN bars
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():SetProperty("PaneWidth",.F.,48) oBar := oG2antt:Chart():Bars():CallMethod("Copy","Task","EBN") oBar:SetProperty("Color",0x1000000) oBar:Pattern := 8192/*exPatternFrameShadow*/ oG2antt:Chart():Bars():CallMethod("Copy","Task","EBN2"):SetProperty("Color",0x1000000) oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"EBN2","01/02/2001","01/05/2001","") oItems:AddBar(oItems:AddItem("Task 2"),"EBN","01/02/2001","01/05/2001","") oItems:AddBar(oItems:AddItem("Task 3"),"EBN2","01/02/2001","01/05/2001","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1196 |
Can I display a shadow for my bars
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():SetProperty("PaneWidth",.F.,48) oG2antt:Chart():Bars:Item("Task"):Pattern := 8195/*exPatternFrameShadow+exPatternShadow*/ oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/05/2001","") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/05/2001","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1195 |
How can I use the Color property for gradient bars
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():SetProperty("PaneWidth",.F.,48) oBar := oG2antt:Chart():Bars():Add("V") oBar:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oBar:SetProperty("EndColor",oBar:StartColor()) oBar:Pattern := 224/*exPatternGradient3Colors+exPatternGradientVBox+exPatternBox*/ oBar:Height := -1 oBar1 := oG2antt:Chart():Bars():Add("H") oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar1:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oBar1:SetProperty("EndColor",oBar1:StartColor()) oBar1:Pattern := 160/*exPatternGradient3Colors+exPatternBox*/ oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"V","01/02/2001","01/05/2001","") oItems:AddBar(oItems:AddItem("Task 2"),"H","01/02/2001","01/05/2001","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1194 |
Is there any option to show bars with vertical gradient
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oBar := oG2antt:Chart():Bars:Item("Task") oBar:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oBar:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. )) oBar:Pattern := 96/*exPatternGradientVBox+exPatternBox*/ oItems := oG2antt:Items() h := oItems:AddItem("Task") oItems:AddBar(h,"Task","01/02/2001","01/05/2001","") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1193 |
How can I define a new milestone bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oBars LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oBars := oG2antt:Chart():Bars() oBars:AddShapeCorner(12345,1) oBars:AddShapeCorner(12346,2) oBars:CallMethod("Copy","Milestone","M1"):StartShape := 12345/*0x3020+exShapeIconVBar+exShapeIconRight*/ oBars:CallMethod("Copy","Milestone","M2"):StartShape := 12346/*0x3020+exShapeIconSquare+exShapeIconRight*/ oBar := oBars:CallMethod("Copy","Milestone","MP") oBar:StartShape := 20/*exShapeIconStar*/ oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Default"),"Milestone","01/02/2001","01/02/2001") oItems:AddBar(oItems:AddItem("Predefined"),"MP","01/03/2001","01/03/2001") oItems:AddBar(oItems:AddItem("Custom 1"),"M1","01/04/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Custom 2"),"M2","01/05/2001","01/05/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1192 |
How can I define my milestone bar, using my icons or pictures
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBars LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oBars := oG2antt:Chart():Bars() oBars:AddShapeCorner(12345,1) oBars:Item("Milestone"):StartShape := 12345/*0x3020+exShapeIconVBar+exShapeIconRight*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Milestone","01/02/2001","01/02/2001") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1191 |
Is it possible to specify manually non-working days instead using the NonworkingDays as being repetitive
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:DrawGridLines := -1/*exAllLines*/ oChart:FirstVisibleDate := "01/01/2010" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:Level(0):DrawGridLines := .T. oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oChart:NonworkingDays := 0 oChart:AddNonworkingDate("01/10/2010") oChart:AddNonworkingDate("01/11/2010") oChart:AddNonworkingDate("01/15/2010") oChart:AddNonworkingDate("01/16/2010") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1190 |
Is it possible to hide specific days
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:DrawGridLines := -1/*exAllLines*/ oChart:FirstVisibleDate := "01/01/2010" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:Level(0):DrawGridLines := .T. oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oChart:NonworkingDays := 128 oChart:AddNonworkingDate("01/10/2010") oChart:AddNonworkingDate("01/11/2010") oChart:AddNonworkingDate("01/15/2010") oChart:AddNonworkingDate("01/16/2010") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1189 |
Is it possible to show or display the marked zones ONLY in the overview part of the control
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/14/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oChart:MarkTimeZone("Z1","01/03/2001","01/04/2001",oChart:BackColor(),";;Zone <b>1</b>") oChart:MarkTimeZone("Z2","02/06/2001","02/07/2001",oChart:BackColor(),";;Zone <b>2</b>") oChart:MarkTimeZone("Z3","01/16/2001","01/19/2001",oChart:BackColor(),";;Zone <b>3</b>") oChart:OverviewShowMarkTimeZones := .T. oChart:SetProperty("OverviewBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 220,240,240 } ) , .F. )) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/05/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","02/05/2001","02/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1188 |
Is it possible to show or display the marked zones in the overview part of the control
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/14/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oChart:MarkTimeZone("Z1","01/03/2001","01/04/2001",16777056) oChart:MarkTimeZone("Z2","02/06/2001","02/07/2001",16744544) oChart:MarkTimeZone("Z3","01/16/2001","01/19/2001",16744544) oChart:OverviewShowMarkTimeZones := .T. oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/05/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","02/05/2001","02/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1187 |
Is there a quick way to determine if a bar belongs to a group
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,64) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/05/2001","01/07/2001","K3") oItems:GroupBars(h1,"K1",.T.,h2,"K2",.T.) oItems:GroupBars(h1,"K1",.F.,h2,"K2",.F.) oItems:GroupBars(h1,"K1",.T.,h3,"K3",.T.) oItems:GroupBars(h1,"K1",.F.,h3,"K3",.F.) DevOut( Transform(oItems:ItemBar(h1,"K1",522/*exBarsGroup*/),"") ) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1186 |
I am using the ScrollRange property to limit the chart's visible area, but it does not work as expected. What could be wrong
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,56) oChart:SetProperty("ScrollRange",0/*exStartDate*/,"01/01/0100") oChart:SetProperty("ScrollRange",1/*exEndDate*/,"12/31/9999") oChart:FirstVisibleDate := "04/28/2010" oG2antt:SetProperty("ScrollPartCaption",2/*exHChartScroll*/,512/*exLowerBackPart*/,Transform(oG2antt:Chart:ScrollRange(0/*exStartDate*/),"")) oG2antt:SetProperty("ScrollPartCaptionAlignment",2/*exHChartScroll*/,512/*exLowerBackPart*/,0/*LeftAlignment*/) oG2antt:SetProperty("ScrollPartCaption",2/*exHChartScroll*/,128/*exUpperBackPart*/,Transform(oG2antt:Chart:ScrollRange(1/*exEndDate*/),"")) oG2antt:SetProperty("ScrollPartCaptionAlignment",2/*exHChartScroll*/,128/*exUpperBackPart*/,2/*RightAlignment*/) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1185 |
Are you planning to add a AddNonworkingDate / AddNonworkingDay for separate items
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:AllowChartScrollPage := .T. oG2antt:Columns():Add("Non-Work") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "04/04/2009" oChart:SetProperty("PaneWidth",.F.,52) oChart:LevelCount := 2 oItems := oG2antt:Items() oItems:AddItem("Default") oItems:SetProperty("ItemNonworkingUnits",oItems:AddItem("Test 1"),.F.,"shortdate(value) in (#4/5/2009#,#4/6/2009#)") oItems:SetProperty("ItemNonworkingUnits",oItems:AddItem("Test 2"),.F.,"shortdate(value) in (#4/6/2009#,#4/7/2009#)") oItems:SetProperty("ItemNonworkingUnits",oItems:AddItem("Test 3"),.F.,"shortdate(value) in (#4/7/2009#,#4/9/2009#)") oItems:AddItem("Default") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1184 |
How can I enlarge the EBN being applied to an object
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 32 oAppearance := oG2antt:VisualAppearance() oAppearance:Add(2,"c:\exontrol\images\normal.ebn") oAppearance:Add(1,"CP:2 -3 -2 3 2") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2002" oChart:SetProperty("SelBarColor",0x1000000) oChart:SetProperty("PaneWidth",.F.,48) oG2antt:Columns():Add("Task") oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2002","01/04/2002","A") oItems:AddBar(h,"Task","01/06/2002","01/10/2002","B") oItems:AddBar(h,"Task","01/11/2002","01/14/2002","C") oItems:SetProperty("ItemBar",h,"A",257/*exBarSelected*/,.T.) oItems:SetProperty("ItemBar",h,"B",257/*exBarSelected*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1183 |
I am using EBN to display my bars but the bars shows in black in the overview area. Is there any option to specify a different color in the overview part of the control
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oChart := oG2antt:Chart() oChart:Bars:Item("Task"):SetProperty("Color",0x1000000) oChart:SetProperty("PaneWidth",.F.,48) oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:FirstVisibleDate := "01/11/2001" oChart:LevelCount := 2 oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001",1) oItems:SetProperty("ItemBar",h,1,41/*exBarOverviewColor*/,8821418) oItems:AddBar(h,"Task","02/02/2001","02/04/2001",2) oItems:SetProperty("ItemBar",h,2,41/*exBarOverviewColor*/,8821418) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","02/02/2001","02/04/2001","") oItems:SetProperty("ItemBar",h,"",41/*exBarOverviewColor*/,8821418) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1182 |
I haven't found options to localize (in Italian) the strings ( dates, tooltip ) that shows in the chart area
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,0) oChart:SetProperty("Label",256/*exWeek*/,"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256") oChart:SetProperty("Label",4096/*exDay*/,"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096") oChart:SetProperty("LabelToolTip",256/*exWeek*/,"<%d%> <%mmmm%> <%yyyy%> <%ww%>") oChart:SetProperty("LabelToolTip",4096/*exDay*/,"<%dddd%> <%d%> <%mmmm%> <%yyyy%>") oChart:FirstWeekDay := 1/*exMonday*/ oChart:MonthNames := "gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre" oChart:WeekDays := "domenica lunedì martedì mercoledì giovedì venerdì sabato" oChart:ToolTip := "<%dddd%> <%d%> <%mmmm%> <%yyyy%>" oChart:UnitScale := 4096/*exDay*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1181 |
I haven't found options to localize (in Dutch) the strings ( dates, tooltip ) that shows in the chart area
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,0) oChart:SetProperty("Label",256/*exWeek*/,"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256") oChart:SetProperty("Label",4096/*exDay*/,"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096") oChart:SetProperty("LabelToolTip",256/*exWeek*/,"<%d%> <%mmmm%> <%yyyy%> <%ww%>") oChart:SetProperty("LabelToolTip",4096/*exDay*/,"<%dddd%> <%d%> <%mmmm%> <%yyyy%>") oChart:FirstWeekDay := 1/*exMonday*/ oChart:MonthNames := "januari februari maart april mei juni juli augusts september oktober november december" oChart:WeekDays := "zondag maandag dinsdag woensdag donderdag vrijdag zaterdag" oChart:ToolTip := "<%dddd%> <%d%> <%mmmm%> <%yyyy%>" oChart:UnitScale := 4096/*exDay*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1180 |
I haven't found options to localize (in German) the strings ( dates, tooltip ) that shows in the chart area (method 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,0) oChart:SetProperty("Label",256/*exWeek*/,"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%>.<%mmmm%> <%yyyy%><r><%ww%><||><||>256") oChart:SetProperty("Label",4096/*exDay*/,"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%>.<%m3%> '<%yy%><|><%dddd%> <%d%>.<%mmmm%> <%yyyy%><||><||>4096") oChart:SetProperty("LabelToolTip",256/*exWeek*/,"<%d%>.<%mmmm%> <%yyyy%> <%ww%>") oChart:SetProperty("LabelToolTip",4096/*exDay*/,"<%dddd%>, <%d%>.<%mmmm%> <%yyyy%>") oChart:FirstWeekDay := 1/*exMonday*/ oChart:MonthNames := "Januar Februar März April Mai Juni Juli August September Oktober November Dezember" oChart:WeekDays := "Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag" oChart:ToolTip := "<%dddd%>,<%d%>.<%mmmm%> <%yyyy%>" oChart:UnitScale := 4096/*exDay*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1179 |
I haven't found options to localize (in French) the strings ( dates, tooltip ) that shows in the chart area
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,0) oChart:SetProperty("Label",256/*exWeek*/,"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256") oChart:SetProperty("Label",4096/*exDay*/,"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096") oChart:SetProperty("LabelToolTip",256/*exWeek*/,"<%d%> <%mmmm%> <%yyyy%> <%ww%>") oChart:SetProperty("LabelToolTip",4096/*exDay*/,"<%dddd%> <%d%> <%mmmm%> <%yyyy%>") oChart:FirstWeekDay := 1/*exMonday*/ oChart:MonthNames := "janvier février mars avril mai juin juillet août septembre octobre novembre décembre" oChart:WeekDays := "dimanche lundi mardi mercredi jeudi vendredi samedi" oChart:ToolTip := "<%dddd%> <%d%> <%mmmm%> <%yyyy%>" oChart:UnitScale := 4096/*exDay*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1178 |
How can I determine the last visible date in the chart
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( "First" ) DevOut( Transform(oG2antt:Chart:FirstVisibleDate(),"") ) DevOut( "Last" ) DevOut( Transform(oG2antt:Chart:DateFromPoint(1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,1) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1177 |
How can I filter programatically using more columns
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Car") oColumns:Add("Equipment") oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Mazda"),1,"Air Bag") oItems:SetProperty("CellValue",oItems:AddItem("Toyota"),1,"Air Bag,Air condition") oItems:SetProperty("CellValue",oItems:AddItem("Ford"),1,"Air condition") oItems:SetProperty("CellValue",oItems:AddItem("Nissan"),1,"Air Bag,ABS,ESP") oItems:SetProperty("CellValue",oItems:AddItem("Mazda"),1,"Air Bag, ABS,ESP") oItems:SetProperty("CellValue",oItems:AddItem("Mazda"),1,"ABS,ESP") oColumn := oG2antt:Columns:Item("Car") oColumn:FilterType := 240/*exFilter*/ oColumn:Filter := "Mazda" oColumn1 := oG2antt:Columns:Item("Equipment") oColumn1:FilterType := 3/*exPattern*/ oColumn1:Filter := "*ABS*|*ESP*" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1176 |
Do you have scheduling functionality in Gantt (meaning scheduling several activities (bars) depending on their start and finish dates with considering dependencies to other activities
PROCEDURE OnBarResize(oG2antt,Item,Key) oG2antt:Items():SchedulePDM(Item,Key) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResize := {|Item,Key| OnBarResize(oG2antt,Item,Key)} /*Occurs when a bar is moved or resized.*/ oG2antt:BeginUpdate() oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns():Add("Task") oG2antt:Columns():Add("Working"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oChart := oG2antt:Chart() oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","") oItems:AddLink("L1",h1,"",h2,"") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","") oItems:AddLink("L2",h2,"",h3,"") oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2) h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/02/2001","01/04/2001","") oItems:AddLink("L3",h4,"",h3,"") oItems:SetProperty("ItemBar",0,"<*>",20/*exBarKeepWorkingCount*/,.T.) oItems:SchedulePDM(oItems:FirstVisibleItem(),"") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1175 |
How can I show the ticks for a single slider field
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oEditor LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Slider"):Editor():EditType := 20/*SliderType*/ oItems := oG2antt:Items() oItems:AddItem(10) oEditor := oItems:CellEditor(oItems:AddItem(20),0) oEditor:EditType := 20/*SliderType*/ oEditor:SetProperty("Option",53/*exSliderTickFrequency*/,10) oItems:AddItem(30) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1174 |
Is it possible to show ticks for slider fields
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oEditor oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oEditor := oG2antt:Columns():Add("Slider"):Editor() oEditor:EditType := 20/*SliderType*/ oEditor:SetProperty("Option",53/*exSliderTickFrequency*/,10) oG2antt:Items():AddItem(10) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1173 |
How can I group two bars so the distance between them is limited to a specified range
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:SetProperty("PaneWidth",.F.,48) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","09/21/2006","09/24/2006") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Unknown","09/25/2006","09/28/2006") oItems:AddLink("L1",h1,"",h2,"") oItems:GroupBars(h1,"",.F.,h2,"",.T.,31,"1;2") DevOut( "The distance between A and B is limited between 1 and 3 days" ) DevOut( "The B is always after the A" ) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1172 |
How can I group two bars so the distance between them is flexible but never less than a specified value
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:SetProperty("PaneWidth",.F.,48) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","09/21/2006","09/24/2006") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Unknown","09/26/2006","09/29/2006") oItems:AddLink("L1",h1,"",h2,"") oItems:GroupBars(h1,"",.F.,h2,"",.T.,39,"2") DevOut( "The distance between A and B is never less than 2 days" ) DevOut( "The B is always after the A" ) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1171 |
How can I group two bars so the distance between them is flexible
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:SetProperty("PaneWidth",.F.,48) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","09/21/2006","09/24/2006") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Unknown","09/26/2006","09/29/2006") oItems:AddLink("L1",h1,"",h2,"") oItems:GroupBars(h1,"",.F.,h2,"",.T.,39) DevOut( "The distance between A and B is flexible, unlimited" ) DevOut( "The B is always after the A" ) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1170 |
How can I group two bars so the interval between them is fixed
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:SetProperty("PaneWidth",.F.,48) oChart:LevelCount := 2 oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","09/21/2006","09/24/2006","T1","A") oItems:AddBar(h,"Unknown","09/26/2006","09/29/2006","T2","B") oItems:AddLink("L",h,"T1",h,"T2") oItems:SetProperty("Link","L",258/*exLinkGroupBars*/,27) oItems:SetProperty("Link","L",11/*exLinkShowDir*/,.F.) h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Unknown","09/26/2006","09/29/2006","T2","B") oItems:AddLink("L2",h,"T1",h2,"T2") oItems:SetProperty("Link","L2",258/*exLinkGroupBars*/,27) oItems:SetProperty("Link","L2",11/*exLinkShowDir*/,.F.) DevOut( "The distance between bars is constant" ) DevOut( "The B is always after the A" ) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1169 |
How can I group two bars when linking, so moving the first bar will makes the second to move accordingly
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:SetProperty("PaneWidth",.F.,48) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","09/21/2006","09/24/2006","","A") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Unknown","09/26/2006","09/29/2006","","B") oItems:AddLink("L1",h1,"",h2,"") oItems:SetProperty("Link","L1",258/*exLinkGroupBars*/,39) DevOut( "The distance between A and B is flexible, unlimited" ) DevOut( "The B is always after the A" ) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1168 |
Is it possible to be notified when the user clicks an anchor element a hyperlink in the date-time zone
PROCEDURE OnAnchorClick(oG2antt,AnchorID,Options) DevOut( "Click: " ) DevOut( Transform(AnchorID,"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AnchorClick := {|AnchorID,Options| OnAnchorClick(oG2antt,AnchorID,Options)} /*Occurs when an anchor element is clicked.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:MarkTimeZone("Z","01/02/2001","01/05/2001",15753471,";32;Caption <a1><b>1</b></a>;1;Caption <a2><b>2</b></a>;17;Caption <a3><b>3</b></a>") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1167 |
Is it possible to be notified when the user clicks a date-time zone
|
1166 |
Is is possible to display multiple captions in the same date-time zone
|
1165 |
Is is possible to align on the top the caption for the date-time zone
|
1164 |
Is there any option to display a picture on the date-time zone
|
1163 |
Is there any option to display a text or a HTML caption on the date-time zone
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:MarkTimeZone("Z1","01/01/2001","01/04/2001",12895487,";;zone <b>1</b>") oChart:MarkTimeZone("Z2","01/05/2001","01/08/2001",12895487,";;zone <b>2</b>") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1162 |
How can I display the date-time zone using a semi-transparent EBN object
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oChart:MarkTimeZone("Z1","01/02/2001","01/03/2001",16777056,";;Solid") oChart:MarkTimeZone("Z2","01/07/2001","01/10/2001",16777216,"50;;EBN") oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1161 |
How can I display the date-time zone using an EBN or a skin instead a solid color
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oChart:MarkTimeZone("Z1","01/02/2001","01/03/2001",16777056,";;Solid") oChart:MarkTimeZone("Z2","01/05/2001","01/08/2001",16777216,";;EBN") oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1160 |
How can I display the date-time zone using a pattern instead a solid color
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oChart:MarkTimeZone("Z1","01/02/2001","01/03/2001",16777056,";;Solid") oChart:MarkTimeZone("Z2","01/06/2001","01/07/2001",16777056,";12;Pattern") oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1159 |
How can I display the date-time zone using a transparent color
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oChart:MarkTimeZone("Z1","01/02/2001","01/03/2001",16777056,";;Opaque") oChart:MarkTimeZone("Z2","01/06/2001","01/07/2001",16777056,"50;;Semi-Transparent") oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1158 |
The date time zone is shown behind the bars, is there any way to show it over
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oChart:MarkTimeZone("Z1","01/02/2001","01/03/2001",16777056) oChart:MarkTimeZone("Z2","01/06/2001","01/07/2001",16777056,"1") oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/08/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1157 |
How can I get ifnromation about a date-time zone
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL oChart oChart := oG2antt:Chart() DevOut( Transform(oChart:TimeZoneInfo(oChart:TimeZoneFromPoint(-1,-1)),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,18) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2010" oChart:MarkTimeZone("Z1","01/04/2010","01/08/2010",16744544) oChart:MarkTimeZone("Z2","01/12/2010","01/18/2010",16761952) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1156 |
How can I determine the zone from the cursor
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL oChart oChart := oG2antt:Chart() DevOut( Transform(oChart:TimeZoneFromPoint(-1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,18) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2010" oChart:MarkTimeZone("Z1","01/04/2010","01/08/2010",16744544) oChart:MarkTimeZone("Z2","01/12/2010","01/18/2010",16761952) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1155 |
How can I highlight multiple date-time zones (ranges)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,18) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2010" oChart:MarkTimeZone("Z1","01/04/2010","01/08/2010",16744544) oChart:MarkTimeZone("Z2","01/12/2010","01/18/2010",16761952) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1154 |
How can I highlight a date-time range
|
1153 |
How do I get the list of selected date
|
1152 |
Is there any function I can use to find the bars that intersect with the current bar
PROCEDURE OnBarResizing(oG2antt,Item,Key) LOCAL oItems oItems := oG2antt:Items() DevOut( Transform(Key,"") ) DevOut( "intesect with" ) DevOut( Transform(oItems:ItemBar(Item,Key,520/*exBarIntersectWithAsString*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResizing := {|Item,Key| OnBarResizing(oG2antt,Item,Key)} /*Occurs when a bar is moving or resizing.*/ oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:DrawGridLines := -1/*exAllLines*/ oChart := oG2antt:Chart() oChart:DrawGridLines := -1/*exAllLines*/ oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oChart:Bars:Item("Task"):OverlaidType := 1/*exOverlaidBarsOffset*/ oChart:ResizeUnitScale := 65536/*exHour*/ oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Default") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A1","A1") oItems:AddBar(h1,"Task","01/03/2001","01/05/2001","A2","A2") oItems:AddBar(h1,"Task","01/04/2001","01/07/2001","A3","A3") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1151 |
Is it possible to order the bars on top of other bars
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:DrawGridLines := -1/*exAllLines*/ oChart := oG2antt:Chart() oChart:DrawGridLines := -1/*exAllLines*/ oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oChart:Bars():CallMethod("Copy","Task","NTask"):OverlaidType := 1/*exOverlaidBarsOffset*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Default") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A1") oItems:AddBar(h1,"Task","01/03/2001","01/05/2001","A2") oItems:AddBar(h1,"Task","01/04/2001","01/07/2001","A3") h2 := oItems:AddItem("Overlaid") oItems:AddBar(h2,"NTask","01/02/2001","01/04/2001","A1") oItems:AddBar(h2,"NTask","01/03/2001","01/05/2001","A2") oItems:AddBar(h2,"NTask","01/04/2001","01/07/2001","A3") oItems:GroupBars(h1,"A1",.T.,h2,"A1",.T.) oItems:GroupBars(h1,"A1",.F.,h2,"A1",.F.) oItems:GroupBars(h1,"A2",.T.,h2,"A2",.T.) oItems:GroupBars(h1,"A2",.F.,h2,"A2",.F.) oItems:GroupBars(h1,"A3",.T.,h2,"A3",.T.) oItems:GroupBars(h1,"A3",.F.,h2,"A3",.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1150 |
Is it possible to order the bars on top of other bars (have different colurs so that they can be seen)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:DrawGridLines := -1/*exAllLines*/ oChart := oG2antt:Chart() oChart:DrawGridLines := -1/*exAllLines*/ oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oChart:Bars():CallMethod("Copy","Task","NTask"):OverlaidType := 515/*exOverlaidBarsStackAutoArrange+exOverlaidBarsStack*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Default") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A1") oItems:AddBar(h1,"Task","01/03/2001","01/05/2001","A2") oItems:AddBar(h1,"Task","01/04/2001","01/07/2001","A3") h2 := oItems:AddItem("Overlaid") oItems:AddBar(h2,"NTask","01/02/2001","01/04/2001","A1") oItems:AddBar(h2,"NTask","01/03/2001","01/05/2001","A2") oItems:AddBar(h2,"NTask","01/04/2001","01/07/2001","A3") oItems:GroupBars(h1,"A1",.T.,h2,"A1",.T.) oItems:GroupBars(h1,"A1",.F.,h2,"A1",.F.) oItems:GroupBars(h1,"A2",.T.,h2,"A2",.T.) oItems:GroupBars(h1,"A2",.F.,h2,"A2",.F.) oItems:GroupBars(h1,"A3",.T.,h2,"A3",.T.) oItems:GroupBars(h1,"A3",.F.,h2,"A3",.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1149 |
Is it possible to layer bars on top of other bars (have different colurs so that they can be seen)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oChart:Bars():CallMethod("Copy","Task","NTask"):OverlaidType := 1/*exOverlaidBarsOffset*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Default") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","A1") oItems:AddBar(h1,"Task","01/03/2001","01/05/2001","A2") oItems:AddBar(h1,"Task","01/04/2001","01/07/2001","A3") h2 := oItems:AddItem("Overlaid") oItems:AddBar(h2,"NTask","01/02/2001","01/04/2001","A1") oItems:AddBar(h2,"NTask","01/03/2001","01/05/2001","A2") oItems:AddBar(h2,"NTask","01/04/2001","01/07/2001","A3") oItems:GroupBars(h1,"A1",.T.,h2,"A1",.T.) oItems:GroupBars(h1,"A1",.F.,h2,"A1",.F.) oItems:GroupBars(h1,"A2",.T.,h2,"A2",.T.) oItems:GroupBars(h1,"A2",.F.,h2,"A2",.F.) oItems:GroupBars(h1,"A3",.T.,h2,"A3",.T.) oItems:GroupBars(h1,"A3",.F.,h2,"A3",.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1148 |
My skin(EBN) bars are not shown a different color in the overview. What can I do
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oChart := oG2antt:Chart() oChart:Bars:Item("Task"):SetProperty("Color",0x1000000) oChart:SetProperty("PaneWidth",.F.,48) oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:FirstVisibleDate := "01/11/2001" oChart:LevelCount := 2 oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001",1) oItems:AddBar(h,"Task","02/02/2001","02/04/2001",2) oItems:SetProperty("ItemBar",h,2,33/*exBarColor*/,16776960) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","02/02/2001","02/04/2001","") oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,255) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1147 |
How do I colour the lines in the overview section to match the bars they represent on the main chart
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001",1) oItems:AddBar(h,"Task","02/02/2001","02/04/2001",2) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","02/02/2001","02/04/2001","") oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,255) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1146 |
How do I catch the delete key (down) on a bar
PROCEDURE OnKeyDown(oG2antt,KeyCode,Shift) DevOut( Transform(KeyCode,"") ) DevOut( Transform(Shift,"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:KeyDown := {|KeyCode,Shift| OnKeyDown(oG2antt,KeyCode,Shift)} /*Occurs when the user presses a key while an object has the focus.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/27/2000" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oBar := oChart:Bars:Item("Task") oBar:Pattern := 32/*exPatternBox*/ oBar:Height := 13 oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K1","This is a bit of text that is not clipped") h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K1","This is a bit of text that get's clipped") oItems:SetProperty("ItemBar",h,"K1",4/*exBarHAlignCaption*/,3) oItems:SetProperty("ItemBar",h,"K1",6/*exBarToolTip*/,oItems:ItemBar(h,"K1",3/*exBarCaption*/)) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1145 |
Is it possible to colour a particular column, I mean the cell's foreground color
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oConditionalFormat LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oConditionalFormat := oG2antt:ConditionalFormats():Add("1") oConditionalFormat:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oConditionalFormat:ApplyTo := 1/*0x1+*/ oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Column 1") oColumns:Add("Column 2") oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem(0),1,1) oItems:SetProperty("CellValue",oItems:AddItem(2),1,3) oItems:SetProperty("CellValue",oItems:AddItem(4),1,5) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1144 |
Is it possible to colour a particular column for specified values
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oConditionalFormat LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oConditionalFormat := oG2antt:ConditionalFormats():Add("int(%1) in (3,4,5)") oConditionalFormat:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oConditionalFormat:ApplyTo := 1/*0x1+*/ oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Column 1") oColumns:Add("Column 2") oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem(0),1,1) oItems:SetProperty("CellValue",oItems:AddItem(2),1,3) oItems:SetProperty("CellValue",oItems:AddItem(4),1,5) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1143 |
Is it possible to colour a particular column
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Column 1") oColumns:Add("Column 2"):SetProperty("Def",4/*exCellBackColor*/,255) oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem(0),1,1) oItems:SetProperty("CellValue",oItems:AddItem(2),1,3) oItems:SetProperty("CellValue",oItems:AddItem(4),1,5) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1142 |
How do i get all the children items that are under a certain parent Item handle
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems,oItems1 LOCAL h,hChild oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:Columns():Add("P") oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) oItems1 := oG2antt:Items() hChild := oItems1:ItemChild(oItems1:FirstVisibleItem()) DevOut( Transform(oItems1:CellValue(hChild,0),"") ) DevOut( Transform(oItems1:CellValue(oItems1:NextSiblingItem(hChild),0),"") ) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1141 |
How can I access the control's scroll bar so I can change its appearance
|
1140 |
How can I show my bars using the parts of the current theme
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oBars LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oAppearance := oG2antt:VisualAppearance() oAppearance:Add(1,"XP:Button 1 1") oAppearance:Add(2,"XP:Button 1 2") oAppearance:Add(3,"XP:ScrollBar 3 1") oAppearance:Add(4,"XP:ScrollBar 3 2") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oBars := oChart:Bars() oBars:Add("B1"):SetProperty("Color",0x1000000) oBars:Add("B2"):SetProperty("Color",0x2000000) oBars:Add("S1"):SetProperty("Color",0x3000000) oBars:Add("S2"):SetProperty("Color",0x4000000) oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Button1"),"B1","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Button 2"),"B2","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Scrollbar 1"),"S1","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Scrollbar 2"),"S2","01/02/2001","01/04/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1139 |
How do I hide the text on a bar if the text is to big for the bar length
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/27/2000" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oBar := oChart:Bars:Item("Task") oBar:Pattern := 32/*exPatternBox*/ oBar:Height := 13 oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K1","This is a bit of text that is not clipped") h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K1","This is a bit of text that get's clipped") oItems:SetProperty("ItemBar",h,"K1",4/*exBarHAlignCaption*/,3) oItems:SetProperty("ItemBar",h,"K1",6/*exBarToolTip*/,oItems:ItemBar(h,"K1",3/*exBarCaption*/)) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1138 |
Is it possible to change the color for non-working parts of the bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:SetProperty("NonworkingDaysColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,250,240 } ) , .F. )) oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/16/2001") h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/02/2001","01/16/2001","") oItems:SetProperty("ItemBar",h,"",40/*exBarNonWorkingColor*/,65280) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1137 |
Is it possible to change the color for the percent bar being displayed inside a specified bar only
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():Bars():Add("Task%Progress") oG2antt:Chart():SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task%Progress","01/02/2001","01/06/2001","K1") oItems:SetProperty("ItemBar",h,"K1",12/*exBarPercent*/,0.4) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task%Progress","01/02/2001","01/06/2001","K1") oItems:SetProperty("ItemBar",h,"K1",12/*exBarPercent*/,0.5) oItems:SetProperty("ItemBar",h,"K1",39/*exBarPercentColor*/,255) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1136 |
How do I get a handle on the item before adding the bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:OnResizeControl := 1/*exResizeChart*/ oG2antt:Columns():Add("Tasks") oG2antt:Columns():Add("Start"):Visible := .F. oG2antt:Columns():Add("End"):Visible := .F. oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 0") oItems:SetProperty("CellValue",h1,1,"09/21/2006") oItems:SetProperty("CellValue",h1,2,"09/24/2006") oItems:AddBar(h1,"Task",oItems:CellValue(h1,1),oItems:CellValue(h1,2)) h2 := oItems:InsertItem(h,,"Task 1") oItems:SetProperty("CellValue",h2,1,"09/25/2006") oItems:SetProperty("CellValue",h2,2,"09/28/2006") oItems:AddBar(h2,"Task",oItems:CellValue(h2,1),oItems:CellValue(h2,2)) h3 := oItems:InsertItem(h,,"Task 2") oItems:SetProperty("CellValue",h3,1,"09/29/2006") oItems:SetProperty("CellValue",h3,2,"10/02/2006") oItems:AddBar(h3,"Task",oItems:CellValue(h3,1),oItems:CellValue(h3,2)) oItems:AddItem(oItems:ItemCount()) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1135 |
Is there an Items method that I can use to loop around to compare the item's user data against
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Default") oItems := oG2antt:Items() h := oItems:AddItem("Root 1") oItems:InsertItem(h,,"Child 1") oItems:SetProperty("ItemData",oItems:InsertItem(h,,"Child 2"),1234) oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("ItemBold",oItems:FindItemData(1234),.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1134 |
How do I make the tooltip box wider to allow for longer text
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ToolTipWidth := 328 oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1") oItems:SetProperty("ItemBar",h,"K1",6/*exBarToolTip*/,"This is a bit of text that's displayed when the cursor hovers the bar") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1133 |
How do i set the default timeslots to say hours or minutes
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:LevelCount := 2 oChart:AllowOverviewZoom := 1/*exAlwaysZoom*/ oChart:OverviewZoomUnit := 24 oChart:OverviewZoomCaption := "Y|½Y|¼Y|Mo|T|W|D|H|Mi|S" oChart:UnitScale := 1048576/*exMinute*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/16/2001","01/25/2001") oItems:AddBar(oItems:AddItem("Item 3"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 4"),"Task","02/16/2001","02/25/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1132 |
Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:LevelCount := 2 oChart:AllowOverviewZoom := 1/*exAlwaysZoom*/ oChart:OverviewZoomUnit := 24 oChart:OverviewHeight := 58 oChart:OverviewZoomCaption := "Y<br>e<br>a<br>r|½Y|¼Y|M<br>o<br>n<br>t<br>h|T|W<br>e<br>e<br>w|<img>pic1:28<img>|H<br>o<br>u<br>r|M<br>i<br>n|S<br>e<br>c" oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/16/2001","01/25/2001") oItems:AddBar(oItems:AddItem("Item 3"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 4"),"Task","02/16/2001","02/25/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1131 |
Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:LevelCount := 2 oChart:AllowOverviewZoom := 1/*exAlwaysZoom*/ oChart:OverviewZoomUnit := 24 oChart:OverviewZoomCaption := "Y|½Y|¼Y|<img>2<img>|T|W|<img>1<img>|H|M|S" oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/16/2001","01/25/2001") oItems:AddBar(oItems:AddItem("Item 3"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 4"),"Task","02/16/2001","02/25/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1130 |
How do I change (for localisation) the text in the buttons like (Sec., Min., Hour, Month...)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:LevelCount := 2 oChart:AllowOverviewZoom := 1/*exAlwaysZoom*/ oChart:OverviewZoomUnit := 24 oChart:OverviewZoomCaption := "Y|½Y|¼Y|Mo|T|W|D|H|Mi|S" oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/16/2001","01/25/2001") oItems:AddBar(oItems:AddItem("Item 3"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 4"),"Task","02/16/2001","02/25/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1129 |
How I can change the Months and Weekdays
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "02/01/2010" oChart:LevelCount := 2 oChart:UnitWidth := 10 oChart:MonthNames := "1 2 3 4 5 6 7 8 9 10 11 12" oChart:WeekDays := "A B C D E F G" oLevel := oChart:Level(0) oLevel:Label := "<%mmmm%>" oLevel:Unit := 16/*exMonth*/ oLevel1 := oChart:Level(1) oLevel1:Label := "<font ;6><%ddd%>" oLevel1:Unit := 4096/*exDay*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1128 |
How do i get the current window time frame (the start and end) of the gantt chart
PROCEDURE OnDateChange(oG2antt) LOCAL oChart oChart := oG2antt:Chart() DevOut( "Start" ) DevOut( Transform(oChart:FirstVisibleDate(),"") ) DevOut( "" ) DevOut( "End" ) DevOut( Transform(oChart:DateFromPoint(oChart:PaneWidth(.T.),0),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:DateChange := {|| OnDateChange(oG2antt)} /*Occurs when the first visible date is changed.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,1) oChart:LevelCount := 2 oChart:ScrollTo("01/01/2010",0) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1127 |
When I use this Chart.get_DateFromPoint(exg2antt1.Width, 0) I get date as 0, 30/12/1899, or 12:00:00 AM. What that means
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( Transform(oG2antt:Chart:DateFromPoint(-1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:LevelCount := 2 oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1126 |
How do I enable grabing bars to other items/rows (and only enable them to be dropped on certain rows)
PROCEDURE OnBarParentChange(oG2antt,Item,Key,NewItem,Cancel) DevOut( oG2antt:Items:CellCaption(NewItem,0) ) Cancel := oG2antt:Items:ItemData(NewItem) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarParentChange := {|Item,Key,NewItem,Cancel| OnBarParentChange(oG2antt,Item,Key,NewItem,Cancel)} /*Occurs just before moving a bar from current item to another item.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:Bars:Item("Task"):OverlaidType := 257/*exOverlaidBarsTransparent+exOverlaidBarsOffset*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:SetProperty("EnableItem",h,.F.) oItems:SetProperty("ItemData",h,-1) h := oItems:AddItem("Item 2") oItems:SetProperty("ItemData",h,0) oItems:AddBar(h,"Task","01/05/2001","01/07/2001","B") oItems:SetProperty("ItemBar",h,"B",28/*exBarCanMoveToAnother*/,.T.) oItems:SetProperty("ItemData",oItems:AddItem("Item 3"),0) h := oItems:AddItem("Item 4") oItems:SetProperty("EnableItem",h,.F.) oItems:SetProperty("ItemData",h,-1) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1125 |
How can I find out if a date time is a non-working part
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL d,h h := oG2antt:ItemFromPoint(-1,-1,c,hit) d := oG2antt:Chart:DateFromPoint(-1,-1) DevOut( Transform(d,"") ) DevOut( Transform(oG2antt:Chart:IsNonworkingDate(d,h),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("NonWorking") oChart := oG2antt:Chart() oChart:FirstWeekDay := 1/*exMonday*/ oChart:FirstVisibleDate := "01/24/2008" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oItems := oG2antt:Items() h := oItems:AddItem("Default") h := oItems:AddItem("January") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"month(value) = 1") h := oItems:AddItem("February, Saturday, Sunday") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"month(value) = 2 or (weekday(value) = 0 or weekday(value) = 6)") h := oItems:AddItem("Sunday") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) = 0") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1124 |
I am using the ItemBar property exBarCanMoveToAnother, How do I stop it from being dropped on certain chart rows
PROCEDURE OnBarParentChange(oG2antt,Item,Key,NewItem,Cancel) DevOut( oG2antt:Items:CellCaption(NewItem,0) ) Cancel := oG2antt:Items:ItemData(NewItem) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarParentChange := {|Item,Key,NewItem,Cancel| OnBarParentChange(oG2antt,Item,Key,NewItem,Cancel)} /*Occurs just before moving a bar from current item to another item.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:Bars:Item("Task"):OverlaidType := 257/*exOverlaidBarsTransparent+exOverlaidBarsOffset*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:SetProperty("EnableItem",h,.F.) oItems:SetProperty("ItemData",h,-1) h := oItems:AddItem("Item 2") oItems:SetProperty("ItemData",h,0) oItems:AddBar(h,"Task","01/05/2001","01/07/2001","B") oItems:SetProperty("ItemBar",h,"B",28/*exBarCanMoveToAnother*/,.T.) oItems:SetProperty("ItemData",oItems:AddItem("Item 3"),0) oItems:SetProperty("ItemData",oItems:AddItem("Item 4"),0) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1123 |
What is the event I should use to capture the click event on the task item on left hand side
PROCEDURE OnClick(oG2antt) LOCAL h h := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( oG2antt:Items:CellCaption(h,c) ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Click := {|| OnClick(oG2antt)} /*Occurs when the user presses and then releases the left mouse button over the tree control.*/ oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:Columns():Add("Items") oItems := oG2antt:Items() h := oItems:AddItem("R1") oItems:InsertItem(h,,"Cell 1.1") oItems:InsertItem(h,,"Cell 1.2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("R2") oItems:InsertItem(h,,"Cell 2.1") oItems:InsertItem(h,,"Cell 2.2") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1122 |
Can I add a hyperlink assigned to a bar
PROCEDURE OnAnchorClick(oG2antt,AnchorID,Options) DevOut( Transform(AnchorID,"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AnchorClick := {|AnchorID,Options| OnAnchorClick(oG2antt,AnchorID,Options)} /*Occurs when an anchor element is clicked.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"default") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"<a1><b>A 1</b></a>") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) h := oItems:AddItem("Task 3") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"<a2><b>A 2</b></a>") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1121 |
Can I change the background color only for the text (caption) in a bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"default") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"using <bgcolor=FF0000>bgcolor</bgcolor> HTML attribute ") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1120 |
Can I change the font to display the text (caption) in a bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"default") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"<font Segoe UI;8 >using font HTML attribute </fgcolor>") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1119 |
How do i change the forecolor of text (caption) in a bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"default") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"<fgcolor=FF0000>using fgcolor HTML attribute </fgcolor>") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) h := oItems:AddItem("Task 3") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","K") oItems:SetProperty("ItemBar",h,"K",3/*exBarCaption*/,"using exBarForeColor") oItems:SetProperty("ItemBar",h,"K",4/*exBarHAlignCaption*/,18) oItems:SetProperty("ItemBar",h,"K",8/*exBarForeColor*/,65280) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1118 |
I have noticed that when scrolling horizontally the chart a tooltip shown. is it possible to actually do the scrolling without showing the tooltip
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "06/20/2005" oChart:AllowLinkBars := .T. oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:ToolTip := "" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","06/21/2005","06/25/2005","A") oItems:AddBar(oItems:AddItem("Task 2"),"Task","06/28/2005","07/02/2005","B") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1117 |
How can I add a bar to be treated as a nonworking part like a "holidays" bar
|
1116 |
Is it possible to add bars that act like a non-working fixed part or the item
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowNonworkingBars := .T. oG2antt:Columns():Add("Tasks") oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) in (0,6)") oItems:AddBar(h,"","01/03/2001","01/06/2001","h","holyday") oItems:SetProperty("ItemBar",h,"h",38/*exBarTreatAsNonworking*/,.T.) oItems:SetProperty("ItemBar",h,"h",29/*exBarSelectable*/,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1115 |
Is it possible to add bars that act like a non-working part or the item
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowNonworkingBars := .T. oG2antt:Columns():Add("Tasks") oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) in (0,6)") oItems:AddBar(h,"","01/03/2001","01/06/2001","h","holyday") oItems:SetProperty("ItemBar",h,"h",38/*exBarTreatAsNonworking*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1114 |
How can I change the both dates for the bar at once
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,64) oChart:FirstVisibleDate := "06/21/2005" oChart:ShowEmptyBars := 1 oItems := oG2antt:Items() h := oItems:AddItem("Test") oItems:AddBar(h,"Task","06/22/2005","06/26/2005","") oItems:AddBar(h,"Task","06/27/2005","06/29/2005") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1113 |
How can I get the selected bars in the chart
PROCEDURE OnChartSelectionChanged(oG2antt) DevOut( Transform(oG2antt:Items:SelectedObjects(1/*exSelectBarsOnly*/),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ChartSelectionChanged := {|| OnChartSelectionChanged(oG2antt)} /*Occurs when the user selects objects in the chart area.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "06/20/2005" oChart:AllowLinkBars := .T. oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","06/21/2005","06/25/2005","A") oItems:AddBar(oItems:AddItem("Task 2"),"Task","06/28/2005","07/02/2005","B") oItems:SetProperty("ItemBar",oItems:FirstVisibleItem(),oItems:FirstItemBar(oItems:FirstVisibleItem()),257/*exBarSelected*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1112 |
How can I list the actions that can be performed by undo operations
PROCEDURE OnChartEndChanging(oG2antt,Operation) DevOut( oG2antt:Chart:UndoListAction() ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ChartEndChanging := {|Operation| OnChartEndChanging(oG2antt,Operation)} /*Occurs after the chart has been changed.*/ oG2antt:BeginUpdate() oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():AllowLinkBars := .F. oG2antt:Chart():Bars:Item("Task"):OverlaidType := 257/*exOverlaidBarsTransparent+exOverlaidBarsOffset*/ oG2antt:Chart():AllowUndoRedo := .T. oG2antt:Chart():SetProperty("PaneWidth",.F.,32) oG2antt:Chart():Bars():Add("Task:Split"):Shortcut := "Task" oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2001","01/04/2001","A") h := oItems:AddItem("Item 2") oItems:AddBar(h,"Task","01/05/2001","01/09/2001","B") oItems:SetProperty("ItemBar",h,"B",28/*exBarCanMoveToAnother*/,.T.) oItems:SetProperty("ItemBar",h,"B",20/*exBarKeepWorkingCount*/,.T.) oItems:SetProperty("ItemNonworkingUnits",oItems:AddItem("Item 3"),.F.,"weekday(value)=0") oItems:SetProperty("ItemNonworkingUnits",oItems:AddItem("Item 4"),.F.,"weekday(value) in (3,5)") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1111 |
How can I change the predefined labels being displayed in the chart's header so it shows the data in short format with no literals
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:AllowOverviewZoom := 1/*exAlwaysZoom*/ oChart:OverviewVisible := 2/*exOverviewShowAllVisible*/ oChart:LevelCount := 3 oChart:SetProperty("Label",0/*exYear*/,"<%yy%><|><%yyyy%>") oChart:SetProperty("Label",1/*exHalfYear*/,"") oChart:SetProperty("Label",2/*exQuarterYear*/,"") oChart:SetProperty("Label",16/*exMonth*/,"<|><%m%><|><%m%>/<%yy%><|><%m%>/<%yyyy%>") oChart:SetProperty("Label",17/*exThirdMonth*/,"") oChart:SetProperty("Label",256/*exWeek*/,"<|><%ww%><|><%m%>/<%d%>/<%yy%><r><%ww%><|><%m%>/<%d%>/<%yyyy%><r><%ww%><||><||>256") oChart:SetProperty("Label",4096/*exDay*/,"<|><%d%><|><%m%>/<%d%>/<%yy%><|><%m%>/<%d%>/<%yyyy%><||><||>4096") oChart:SetProperty("Label",65536/*exHour*/,"<|><%hh%><|><%m%>/<%d%>/<%yy%> <%h%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%><||><||>65536") oChart:SetProperty("Label",1048576/*exMinute*/,"<|><%nn%><|><%h%>:<%nn% <%AM/PM%>><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%> <%AM/PM%>") oChart:SetProperty("Label",16777216/*exSecond*/,"<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>") oChart:SetProperty("LabelToolTip",0/*exYear*/,"<%yyyy%>") oChart:SetProperty("LabelToolTip",1/*exHalfYear*/,"") oChart:SetProperty("LabelToolTip",2/*exQuarterYear*/,"") oChart:SetProperty("LabelToolTip",16/*exMonth*/,"<%m%>/<%yyyy%>") oChart:SetProperty("LabelToolTip",17/*exThirdMonth*/,"") oChart:SetProperty("LabelToolTip",256/*exWeek*/,"<%m%>/<%d%>/<%yyyy%> <%ww%>") oChart:SetProperty("LabelToolTip",4096/*exDay*/,"<%m%>/<%d%>/<%yyyy%>") oChart:SetProperty("LabelToolTip",65536/*exHour*/,"<%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%>") oChart:SetProperty("LabelToolTip",1048576/*exMinute*/,"<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%> <%AM/PM%>") oChart:SetProperty("LabelToolTip",16777216/*exSecond*/,"<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>") oChart:UnitScale := 4096/*exDay*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1110 |
The histogram does not show (correctly) the bars, even if I changed the Bar.HistogramPattern and Bar.HistogramColor properties. What can be wrong
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/27/2000" oChart:HistogramVisible := .T. oChart:HistogramHeight := 32 oBar := oChart:Bars:Item("Task") oBar:HistogramPattern := 6/*exPatternBDiagonal*/ oBar:SetProperty("HistogramColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oChart:ResizeUnitScale := 65536/*exHour*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001 08:00:00","01/02/2001 12:00:00") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/01/2001 08:00:00","01/05/2001 12:00:00") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1109 |
How can I change the default key for the newly added link from "Link1" to my identifier
PROCEDURE OnAddLink(oG2antt,LinkKey) LOCAL oItems oItems := oG2antt:Items() oItems:AddLink("newIDlink",oItems:Link(LinkKey,0/*exLinkStartItem*/),oItems:Link(LinkKey,1/*exLinkStartBar*/),oItems:Link(LinkKey,2/*exLinkEndItem*/),oItems:Link(LinkKey,3/*exLinkEndBar*/)) oItems:RemoveLink(LinkKey) RETURN PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( Transform(oG2antt:Chart:LinkFromPoint(-1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddLink := {|LinkKey| OnAddLink(oG2antt,LinkKey)} /*Occurs when the user links two bars using the mouse.*/ oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "06/20/2005" oChart:AllowLinkBars := .T. oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","06/21/2005","06/25/2005","") oItems:AddBar(oItems:AddItem("Task 2"),"Task","06/28/2005","07/02/2005","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1108 |
How can I change the default key for the newly added link from "Link1" to my identifier
PROCEDURE OnAllowLink(oG2antt,StartItem,StartBarKey,EndItem,EndBarKey,LinkKey,Cancel) LinkKey := "newIDlink" RETURN PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( Transform(oG2antt:Chart:LinkFromPoint(-1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AllowLink := {|StartItem,StartBarKey,EndItem,EndBarKey,LinkKey,Cancel| OnAllowLink(oG2antt,StartItem,StartBarKey,EndItem,EndBarKey,LinkKey,Cancel)} /*Notifies at runtime when a link between two bars is possible.*/ oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "06/20/2005" oChart:AllowLinkBars := .T. oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","06/21/2005","06/25/2005","") oItems:AddBar(oItems:AddItem("Task 2"),"Task","06/28/2005","07/02/2005","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1107 |
We want to have a Task ID column as the first column that shows the row number. How can we do that
PROCEDURE OnFormatColumn(oG2antt,Item,ColIndex,Value) Value := oG2antt:Items:ItemPosition(Item) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:FormatColumn := {|Item,ColIndex,Value| OnFormatColumn(oG2antt,Item,ColIndex,Value)} /*Fired when a cell requires to format its caption.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oColumn := oG2antt:Columns():Add("Pos") oColumn:Width := 24 oColumn:AllowSizing := .F. oColumn:Position := 0 oColumn:FireFormatColumn := .T. oItems := oG2antt:Items() oItems:AddItem("Task A") oItems:AddItem("Task B") oItems:AddItem("Task C") oItems:AddItem("Task D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1106 |
How can I get the caption of focused item
PROCEDURE OnSelectionChanged(oG2antt) LOCAL oItems oItems := oG2antt:Items() DevOut( "Handle" ) DevOut( Transform(oItems:FocusItem(),"") ) DevOut( "Caption" ) DevOut( oItems:CellCaption(oItems:FocusItem(),0) ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:SelectionChanged := {|| OnSelectionChanged(oG2antt)} /*Fired after a new item has been selected.*/ oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:Columns():Add("Items") oItems := oG2antt:Items() h := oItems:AddItem("R1") oItems:InsertItem(h,,"Cell 1.1") oItems:InsertItem(h,,"Cell 1.2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("R2") oItems:InsertItem(h,,"Cell 2.1") oItems:InsertItem(h,,"Cell 2.2") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1105 |
How can I get the caption of selected item
PROCEDURE OnSelectionChanged(oG2antt) LOCAL oItems oItems := oG2antt:Items() DevOut( "Handle" ) DevOut( Transform(oItems:SelectedItem(0),"") ) DevOut( "Caption" ) DevOut( oItems:CellCaption(oItems:SelectedItem(0),0) ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:SelectionChanged := {|| OnSelectionChanged(oG2antt)} /*Fired after a new item has been selected.*/ oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:Columns():Add("Items") oItems := oG2antt:Items() h := oItems:AddItem("R1") oItems:InsertItem(h,,"Cell 1.1") oItems:InsertItem(h,,"Cell 1.2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("R2") oItems:InsertItem(h,,"Cell 2.1") oItems:InsertItem(h,,"Cell 2.2") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1104 |
How can I get the link from the point
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( Transform(oG2antt:Chart:LinkFromPoint(-1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/29/2000" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"L1") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"L2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1103 |
How can I get the bar from the point
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( Transform(oG2antt:Chart:BarFromPoint(-1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/29/2000" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/04/2001","01/06/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1102 |
How can I get the level from the cursor
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( Transform(oG2antt:Chart:LevelFromPoint(-1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "06/25/2010" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 4 oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1101 |
How can I get the date from the cursor
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( Transform(oG2antt:Chart:DateFromPoint(-1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |